In the operation of packet-based networked systems such as, for example, the Internet, the expeditious routing of data packets is of very high importance. Typically, the minimum-cost path (i.e., the path having the minimum sum of costs associated with the links along the path) between a packet's source node and its destination node are chosen as the best candidates for routing packets through the network, since, in general, the use of such paths are most likely to be the most efficient means of transmitting the packets. (Such a minimum-cost path is sometimes referred to as a “shortest” path, although this nomenclature is literally equivalent only where the number of links or “hops” is the cost metric.) Numerous methods and algorithms exist in the prior art to determine those network data links that comprise the minimum-cost path between a source node and a destination node.
The Dijkstra method, fully familiar to those of ordinary skill in the art and as described, for example, in E. W. Dijkstra, “A Note on Two Problems in Connexion with Graphs,” Numberische Mathematic 1, pp. 269-271 (1959), is probably the best known of these methods of determining a minimum-cost path through a graph (e.g., a network). Specifically, the Dijkstra method determines the minimum-cost path from a source node to a destination node by accumulating network link distances, or lengths, for each path from the source node to the destination node. Note that, in general, these methods allow arbitrary but fixed “cost” measures to be assigned to each link in the network. (That is, in general, the total “length” of a path from a source node to a destination node is equal to an accumulation of these “costs” along the path, rather than merely a count of the number of links along the paths.)
Dijkstra and other such prior art methodologies, even when using assignable cost measures, determine the best path solely on the basis of link cost metrics—that is, they do not consider dynamic effects such as traffic conditions, which may affect data transmission throughput or packet delay. However, when such traffic conditions are taken into account, the calculated minimum-cost path may be neither the most efficient path nor the most expeditious route for sending data between a given source node and a corresponding destination node. For example, it may be the case that the minimum-cost path includes one or more highly used network nodes and/or links, thereby creating a tendency for those nodes and links to become heavily congested with packet traffic. In addition, data paths using older transmission media may be less efficient than a longer data path using newer transmission media. (The older transmission media may introduce significant time delays in the data transmission that cause congestion to occur and thereby adversely affect the timely reception of the data.)
In co-pending U.S. patent application Ser. No. 09/537,791, “Method for Finding Shortest Network Paths Subject to System Constraints,” filed by G. Liu and K. G. Ramakrishnan on Mar. 29, 2000 and assigned to the assignee of the present invention, a method is disclosed for determining the minimum-cost paths between a source node and a destination node in a network wherein the paths satisfy certain imposed system constraints, such as, for example, link or node delay. In particular, candidate paths are evaluated by accumulating system parameter information from a source node and projecting the system parameter information ahead to the destination node in an iterative fashion. Then, when the accumulated and projected system parameter information for the candidate path satisfies the imposed system constraints, the candidate path is saved for further evaluation, whereas candidate paths that fail to satisfy the imposed system constraints are removed from further processing. Thus, a route which comprises a “shortest path” (i.e., a minimum-cost path) but which nonetheless satisfies the imposed system constraints may be advantageously determined. Co-pending U.S. patent application Ser. No. 09/537,791 is hereby incorporated by reference as if fully set forth herein.
Although the use of the technique of U.S. patent application Ser. No. 09/537,791 ensures that a selected route through a network will not violate a given (predefined) set of system constraints, there is no assurance that other, non-selected routes are not in fact more efficient than the selected one, when dynamic issues such as traffic conditions are taken into account. Thus, it would be highly desirable if a method for route selection were available in which a “most efficient” route, measured in terms of both minimum-cost distance and network traffic conditions, could be identified. Moreover, it would be highly desirable if such a route could be determined without requiring the use of a time-consuming iterative procedure.